package fr.afcepf.vod.managedbean;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

import fr.afcepf.vod.entities.Client;
import fr.afcepf.vod.entities.Utilisateur;
import fr.afcepf.vod.entities.Ville;
import fr.afcepf.vod.metier.IGestionClient;

@ManagedBean
@SessionScoped
public class MbInscription {
	
	
	private String nom;
	private String prenom;
	private String adresse;
	private Date dateNaissance;
	private String codePostal;
	private String ville;
	private String mailClient;
	private String passClient;
	private Client client = new Client();
	private String email;
	private String passWord;
	private String label;
	
	@ManagedProperty (value="#{gestionClientImpl}")
	private IGestionClient gestionClientImpl; //+get/set
	
	public String enregistrer(){
		Utilisateur u = new Utilisateur();
		Ville v = new Ville();
		if (gestionClientImpl.validationMailPassword(mailClient, passClient, email, passWord)){
			label=("La confirmation de votre email et/ou de votre mot de passe est fausse");
			email="";
			passWord="";
		}else{
			u.setNom(nom);
			u.setPrenom(prenom);
			u.setAdresseMail(mailClient);
			u.setPassWord(passClient);
			u.setDroitacce(gestionClientImpl.recupDroitAcces("client"));
			v.setNom(ville);
			v.setCodePostal(codePostal);
			int idUtilisateur = gestionClientImpl.ajouterUtilisateur(u);
			int idVille = gestionClientImpl.ajouterVille(v);
			client.setAdresse(adresse);
			client.setDateNaissance(dateNaissance);
			client.setVille(gestionClientImpl.recupVilleById(idVille));
			client.setUtilisateur(gestionClientImpl.recupUtilisateurById(idUtilisateur));
			int idClient = gestionClientImpl.ajouterClient(client);
			
			
		}
		
		return null;
	}

	public IGestionClient getGestionClientImpl() {
		return gestionClientImpl;
	}

	public void setGestionClientImpl(IGestionClient gestionClientImpl) {
		this.gestionClientImpl = gestionClientImpl;
	}

	public Client getClient() {
		return client;
	}

	public void setClient(Client client) {
		this.client = client;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassWord() {
		return passWord;
	}

	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}

	public String getPrenom() {
		return prenom;
	}

	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}

	public String getAdresse() {
		return adresse;
	}

	public void setAdresse(String adresse) {
		this.adresse = adresse;
	}

	public Date getDateNaissance() {
		return dateNaissance;
	}

	public void setDateNaissance(Date dateNaissance) {
		this.dateNaissance = dateNaissance;
	}

	public String getCodePostal() {
		return codePostal;
	}

	public void setCodePostal(String codePostal) {
		this.codePostal = codePostal;
	}

	public String getVille() {
		return ville;
	}

	public void setVille(String ville) {
		this.ville = ville;
	}

	public String getMailClient() {
		return mailClient;
	}

	public void setMailClient(String mailClient) {
		this.mailClient = mailClient;
	}

	public String getPassClient() {
		return passClient;
	}

	public void setPassClient(String passClient) {
		this.passClient = passClient;
	}

}
